package game.coord;


// cell with 8 neighbors
public abstract class MooreCell<TYPE extends MooreCell<?>>
{
    // neighbors
    private TYPE topLeft;
    private TYPE top;
    private TYPE topRight;
    private TYPE left;
    // this
    private TYPE right;
    private TYPE bottomLeft;
    private TYPE bottom;
    private TYPE bottomRight;
    
    public TYPE getTopLeft()
    {
        return topLeft;
    }

    public void setTopLeft(TYPE topLeft)
    {
        this.topLeft = topLeft;
    }

    public TYPE getTop()
    {
        return top;
    }

    public void setTop(TYPE top)
    {
        this.top = top;
    }

    public TYPE getTopRight()
    {
        return topRight;
    }

    public void setTopRight(TYPE topRight)
    {
        this.topRight = topRight;
    }

    public TYPE getLeft()
    {
        return left;
    }

    public void setLeft(TYPE left)
    {
        this.left = left;
    }

    public TYPE getRight()
    {
        return right;
    }

    public void setRight(TYPE right)
    {
        this.right = right;
    }

    public TYPE getBottomLeft()
    {
        return bottomLeft;
    }

    public void setBottomLeft(TYPE bottomLeft)
    {
        this.bottomLeft = bottomLeft;
    }

    public TYPE getBottom()
    {
        return bottom;
    }

    public void setBottom(TYPE bottom)
    {
        this.bottom = bottom;
    }

    public TYPE getBottomRight()
    {
        return bottomRight;
    }

    public void setBottomRight(TYPE bottomRight)
    {
        this.bottomRight = bottomRight;
    }
}
